package cc.yaomm.common.basic.captcha.config;

import lombok.Data;
import lombok.ToString;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * Created by XQL on 2020/5/14.
 */
@Data
@ToString
@ConfigurationProperties(prefix = CaptchaProperties.CAPTCHA_PREFIX)
public class CaptchaProperties {

    public static final String CAPTCHA_PREFIX = "captcha";

    /**
     * 是否启动验证码，判断是否加载验证码模块
     */
    private boolean enable = true;

    /**
     * 有效期(单位秒),默认5分钟
     */
    private Long expire = 300L;

    /**
     * 验证码类型，默认general-普通验证码；arithmetic-算术验证码;chinese-中文验证码
     */
    private String type = "general";

    /**
     * 生成规则，默认字母数字，null表示字母数字混搭，true表示数字，false表示字母
     */
    private Boolean number;

    /**
     * 是否大小写，默认大小写，null表示大小写混搭，true表示大写，false表示小写
     */
    private Boolean upper;

    /**
     * 长度，默认4位
     */
    private Integer length = 4;

    /**
     * 图片验证码，画布宽度
     */
    private Integer imageWight = 120;

    /**
     * 图片验证码，画布高度
     */
    private Integer imageHeight = 50;

    /**
     * 验证码邮件配置
     */
    private MailProperties mail = new MailProperties();

    @Data
    @ToString
    public class MailProperties {

        /**
         * 是否开启邮件验证码
         */
        private boolean enable = false;

        /**
         * 验证码邮件 标题
         */
        private String title;

        /**
         * 验证码邮件 内容
         */
        private String content;

    }
}
